package unequalTriplets;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class Solution {
    public int unequalTriplets(int[] nums) {
//        int ans = 0;
//        for (int i = 0; i < nums.length; i++) {
//            for (int j = i+1; j < nums.length; j++) {
//                for (int k = j+1; k < nums.length; k++) {
//                    if(nums[i]!=nums[j]&&nums[i]!=nums[k]&&nums[j]!=nums[k]) {
//                        ans++;
//                    }
//                }
//            }
//        }
//        return ans;

        // 哈希表
        int res = 0;
        int n = nums.length;
        Map<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            map.put(nums[i],map.getOrDefault(nums[i],0)+1);
        }
        int a = 0;
        for (int b : map.values()) {
            int c = n - a - b;
            res+=(a*b*c);
            a+=b;
        }
        return res;
    }
    // A(n,m)/m
}
